name: Semigroup
description: |
  Import with.

  ```javascript
  import {combine} from "jabz/semigroup";
  ```

functions:
- name: combine
  type: "<A extends Semigroup<A>>(a: A, b: A): A"
  description: |
    Combines two members of the same semigroup by using their combine method.

    ```javascript
    combine(sum(3), sum(5)); //=> Sum(8)
    combine("Hello ", "there"); //=> "Hello there"
    combine([1, 2, 3], [4, 5]); //=> [1, 2, 3, 4, 5]
    ```
