Refactor the signature using types

what do you think? @diegozea 
Hi! Looks good to me :+1: 

Maybe other option can be:
```
abstract FDR <: CorrectionMethod
abstract FWER <: CorrectionMethod
```