module Binable:sig..end
t exposed to be a polymorphic variant.
Despite what the type reads, this does *not* produce a function after reading;
instead it takes the constructor tag (int) before reading and reads the rest of the
variant t afterwards.module type S =sig..end
module type S1 =sig..end
module type S2 =sig..end