Try to separate your code blocks for readability.
Like:
-module(a). -export([int/0]). -spec int(value()) -> ConvertedValue::term(). int(Var) -> to_type(int, Var). -spec hello() -> atom(). hello([])-> Code; hello(A) -> Code. bello([])-> %issue, no blank line before declaration code; bello(A) -> {A, code}. %comment is %not an issue hello2()-> Code; hello2(A) -> %issue, blank line before function clause Code. bello2([])-> %issue, two blank lines before declaration code; %not an issue bello2(A) -> {A, code}.