> This line:
>   module Make (Reader: READER.T): PST = struct
> says that Make is a functor that takes a READER.T and
> returns a PST. You want to say instead that Make is a
> functor of type PST, so you should change it to
>   module Make : PST = functor (Reader: READER.T) -> struct

Yep, that's it.  Thanks a lot :)