Comparing direct and continuation semantics styles for concurrent languages