{P : Sort u} →
  {name : String} →
    {version? : Option String} →
      {name' : String} →
        {version?' : Option String} →
          { name := name, version? := version? } = { name := name', version? := version?' } →
            (name = name' → version? = version?' → P) → P