either: s/value/fn