def _construct(s):
    """ We override _construct here to add method binding. Basically
    we do this after the class is constructed but before the construct()
    elaboration happens."""
    if not s._dsl.constructed:
        if s._dsl.param_tree is None:
            kwargs = s._dsl.kwargs
        elif s._dsl.param_tree.leaf is None:
            kwargs = s._dsl.kwargs
        else:
            kwargs = s._dsl.kwargs.copy()
            if 'construct' in s._dsl.param_tree.leaf:
                more_args = s._dsl.param_tree.leaf['construct']
                kwargs.update(more_args)
        s._handle_decorated_methods()
        s.construct(*s._dsl.args, **kwargs)
        if s._dsl.call_kwargs is not None:
            s._continue_call_connect()
        s._dsl.constructed = True
