$ 0 0 Isnt there a substitution type assignment? type t := User.t Generally strikes me as a bad idea but maybe?