Should that be:

Optional transform(T transformer(T value)) {}

?