type EventWriter[A] = Writer[List[Event], A]
type EitherWriter[A] = EitherT[EventWriter, String, A]
def applyChange(event: Event): EitherWriter[Aggregate] =
EitherT.right[EventWriter, String, Aggregate](handleEvent(event).set(event :: Nil))
,用作:
def close = {
if (!closed) {
applyChange(Closed(id))
} else {
this.point[EitherWriter]
}
}
每次我想要使用空列表返回this.point[EitherWriter]
时,是否可以避免显式返回this
?