simplify compiler pass by passing in a Definition or Reference