type t = {weights : float array;bias : float;
}type example = float array * floatval make : inputs:int -> seed:int -> tval sum : t -> float array -> floatval answer : t -> float array -> floatval epoch : ?rate:float -> t -> example list -> tval train : ?epochs:int -> ?rate:float -> t -> example list -> tval learns : ?epochs:int -> ?seed:int -> example list -> float