sig
  val 'left : seq -> int -> any
  val 'right : seq -> int -> any
  val 'reverse : seq -> seq
  val 'rotate_left : seq -> seq
  val 'rotate_right : seq -> seq
  val 'pad_right : seq -> int -> any -> seq
  val 'pad_left : seq -> int -> any -> seq
  val 'matrix_dim : seq -> int
  val 'rank : seq -> seq
  val 'matrixify : seq -> seq
  val 'matrix_check : any -> any
  val 'transpose : seq -> seq
  val 'outerproduct :
    funct -> funct -> seq -> seq -> seq
  val 'scalarproduct : seq -> seq -> seq
  val 'matrix_vector_product : seq -> seq -> seq
  val 'matrix_matrix_product : seq -> seq -> seq
  val 'iota : int -> monoidal -> monoidal
  val 'filter : funct -> monoidal -> monoidal
  val 'flatten : monoidal -> monoidal
  val 'partition : int -> monoidal -> monoidal
  val 'partition_eq : funct -> monoidal -> monoidal
  val 'cons : any -> seq -> seq
  val ':: : any -> seq -> seq
  val 'append : seq -> seq -> seq
  val 'join : any -> seq -> seq
  val 'inter : bag -> bag -> bag
  val 'diff : bag -> bag -> bag
  val 'subset : set -> set -> bool
end