code: public static <T> Optional<T> narrowK(final Higher<optional, T> Optional) {
      //has to be an OptionalKind as only OptionalKind can implement Higher<optional, T>
      return ((OptionalKind<T>)Optional).boxed;
  
    }
docs: Convert the HigherKindedType definition for a Optional into
  
  @param Optional Type Constructor to convert back into narrowed type
  @return Optional from Higher Kinded Type