add boolean, can_generalize