only the first type specified in extend-protocol can be an expression...?