-module(comments).

-export([
    has_fanciness/1
]).

-export([
    foo/1,
    bar/1,
    baz/1
]).

%% Constants

% Minimum interval between health checks
-define(VERSION_CHECK_INTERVAL_MILLIS_DEFAULT, 10000).
-define(MAX_WRITE_FAILURES, 3).

%% Cp stands for "codepoint"
has_fanciness([Cp | Rest]) ->
    case wa_unicode:bidi_class(Cp) of
        Class when
            Class =:= 'L';
            %% TODO maybe invalidate if there is too many NSM?
            Class =:= 'NSM'
        ->
            has_fanciness(Rest);
        _ ->
            {true, Cp}
    end;
has_fanciness([]) ->
    false.

%% comment
bar(X) when
    is_list(X)
->
    ok;
%% comment
bar(X) when is_atom(X) ->
    ok.

baz(Y) when
    %% comment
    is_list(Y);
    %% other comment
    is_binary(Y)
->
    ok.
