Now one's natural reaction, is that you should make up some special rules for reference types and maybe not let references hold polymorphic things. that they would have to have a type like int option ref, but not alpha option ref. 