update type define from seth 

it is very nice for type define 

```
-type ej_array_select() :: {select, all | {json_string(),
                                           json_string()  |
                                           json_number()  |
                                           json_boolean() |
                                           json_null()}}.

-type key_type()    :: binary() | integer() | first | last | new |
                       ej_array_select().

-type key_tuple()   :: tuple().
-type key_list()    :: [key_type()].
-type ej_key_path() :: key_tuple() | key_list().
```