This is now impossible to do, as far as i know how. A workaround is to make G a Module Type too and include it inside the declaration of M (like so Module M (X : A) (Y : G X) <: F Y.), but in ...