Module Abilities.Ability

module Triggers : sig ... end

Role Ability

type 'a f = 'a -> unit

where 'a is data

where ('a, 'b) is (trigger, data)

module type S = sig ... end
module type InputS = sig ... end
module Make (R : Roles.S) (T : Triggers.S with type role = R.role and type role_kind = R.role_kind and type role_alignment = R.role_alignment) (X : InputS with type triggers = T.t and type trigger = T.trigger and type trigger_kind = T.trigger_kind) : S with type role = R.role and type role_kind = R.role_kind and type role_alignment = R.role_alignment and type triggers = T.t and type trigger = T.trigger and type trigger_kind = T.trigger_kind