method stype =
    if List.exists
         (fun (d,single,s) ->
            s.source#stype = Infallible &&
            not single &&
            trivially_true d)
         children
    then Infallible else Fallible