type ('a, 'b) result = Ok of 'a | Error of 'b
let nosib (t : 'a t) =
match t with
| [] -> Ok (t : [`No_siblings] t)
| _ -> Error `Has_siblings
dHlwZSAnYSB0ID0gJ2EgbGlzdAp0eXBlICgnYSwgJ2IpIHJlc3VsdCA9IE9rIG9mICdhIHwgRXJyb3Igb2YgJ2IKbGV0IG5vc2liICh0IDogJ2EgdCkgPQogIG1hdGNoIHQgd2l0aAogICAgfCBbXSAtPiBPayAodCA6IFtgTm9fc2libGluZ3NdIHQpCiAgICB8IF8gICAtPiBFcnJvciBgSGFzX3NpYmxpbmdzCg==