anchor.diff:  
   [source,c++]
   ----
  -constexpr auto make_lock(int key, int value) // -> (fn(int) -> optional<int>)
  +constexpr auto make_lock(int key, int value) // -> (fn(int) -> std::optional<int>)
   {
  -    return [key,value](auto _key) -> optional<int>
  +    return [key,value](auto _key) -> std::optional<int>
       {
   	return key == _key ? std::make_optional(value) : std::nullopt;
       };
  
positive.code: 
  [source,c++]
  ----
  constexpr auto make_branch(auto left, auto right) // -> (fn -> optional<int>)
  {
  
      return [left,right](int key) -> optional<int>
      {
  	const auto result = left(key)
          if( result != nullopt )
  	    return result;
          }
          return right(key);
  
negative.code: 
  [source,c++]
  ----
  static_assert( std::nullopt == my_lock(84) );
  static_assert( 1337         == my_lock(42) );
  ----
  
  [state=dimbg]
  