enum
weaken reference fom type coercion to constraint