package Ġio . lam art . k ost ore . utility Ċ Ċ import Ġio . lam art . k ost ore . Initializer Ċ import Ġio . lam art . k ost ore . Middleware Ċ import Ġio . lam art . k ost ore . Optional Initializer Ċ import Ġio . lam art . k ost ore . Reducer Ċ Ċ fun Ġ< T > ĠInitial izer < T >. to Optional () Ġ= ĠTo Optional Optional Initializer ( this ) Ċ Ċ class ĠTo Optional Optional Initializer < T >( private Ġval Ġinitializer : ĠInitial izer < T >) Ġ: ĠOptional Initializer < T > Ġ{ ĊĊĠĠĠ Ġoverride Ġfun Ġadd Middleware ( middleware : ĠMiddleware < T ?> ) Ġ= Ġinitializer . add Middleware ( middleware ) ĊĊĠĠĠ Ġoverride Ġfun Ġadd Reducer ( reducer : ĠRed ucer < T >) Ġ= Ġinitializer . add Reducer ( reducer ) Ċ Ċ }