Type directed reify