let addl atms =
  let rec loop s = function
    | [] -> 
        Status.Ok(s)
    | a :: al -> 
        (match add s a with
           | Status.Valid _ -> loop s al
           | Status.Ok(s') -> loop s' al   
           | Status.Inconsistent(rho) -> Status.Inconsistent(rho))
  in
    loop atms