import { Maybe } from './Maybe' ; import { combineArray } from './combineArray' ; import { curry3 } from '@typed/functions' ; name export const combine = curry3 ( __combine ) ; export type Combine = { < A , B , C > ( f , maybeA , maybeB ) : Maybe < C > ; < A , B , C > ( f , maybeA ) : ( maybeB : Maybe < B > ) => Maybe < C > ; < A , B , C > ( f ) : { ( maybeA , maybeB ) : Maybe < C > ; ( maybeA ) : ( maybeB : Maybe < B > ) => Maybe < C > ; } ; } ; function __combine < A , B , C > ( f , maybeA , maybeB ) { return combineArray ( f , [ maybeA , maybeB ] ) ; }