1
2
3
4
5
6
7
8
9
10
11
12
13
14
/// Binary operation on functions.
#[derive(Clone, Copy, PartialEq, PartialOrd, Eq, Debug)]
pub enum Op {
    /// Function composition `f . g`
    Compose,
    /// Path `f[g]`
    Path,
    /// Apply function to some argument.
    Apply,
    /// Constrain function input.
    Constrain,
    /// Type judgement.
    Type,
}