hmm I like the polymorphic approach. maybe return an empty tuple would homogenize the returns.