```
1> binary:match(<<"abcd">>, binary:compile_pattern(<<".*cd">>)).
nomatch
3> {ok, CP} = re:compile(<<".*cd">>).
{ok,{re_pattern,0,0,
                <<69,82,67,80,61,0,0,0,0,0,0,0,13,0,0,0,0,0,0,0,0,0,100,
                  ...>>}}
4> binary:match(<<"abcd">>, CP).
** exception error: bad argument
```
And:
```
9> timer:tc(re, compile, [<<"^<[[:space:]]*open">>]).
{21,
 {ok,{re_pattern,0,0,
                 <<69,82,67,80,100,0,0,0,16,0,0,0,5,0,0,0,0,0,0,0,0,...>>}}}
```

I'm not sure if it's worth complicating the code.