public static Validation <Exceptional <Unit> > Create(this BookTransferDto transfer, Func <DateTime> now, Func <SqlTemplate, BookTransferDao, int> commands) => transfer .CreateBookTransfer(now) .Map(t => t .CreateBookTransferDao() .Save(commands.Apply(GetSqlTemplate(SqlEnum.InsertIntoBookTransfers))));