functor (X : sig  end) -> Shape