sig
  val crossmut :
    '->
    ('-> '-> float Lazy.t) ->
    ('-> '-> '-> 'b * 'b) ->
    ('-> '-> 'b) ->
    'Ga_types.population ->
    'Ga_types.population -> int list -> Ga_types.gvars -> unit
end